
package com.tools.cleanmaster.ui.card;

import com.tools.cleanmaster.ui.card.viewholder.ACardViewHolder;
import com.tools.cleanmaster.ui.card.viewholder.AdCardViewHolder;
import com.tools.cleanmaster.ui.card.viewholder.CommonCardViewHolder;
import com.tools.cleanmaster.ui.card.viewholder.DefaultCardViewHolder;
import com.tools.cleanmaster.ui.card.viewholder.FuncCardViewHolder;
import com.tools.cleanmaster.ui.card.viewholder.LoadingAdCardViewHolder;
import com.tools.cleanmaster.ui.card.viewholder.PhoneMediaViewHolder;
import com.tools.cleanmaster.ui.card.viewholder.RateCardViewHolder;

public enum CardViewType {

    /**
     * 默认卡片
     */
    DEFAULT(DefaultCardViewHolder.class),

    /**
     * 五星好评
     */
    RATE(RateCardViewHolder.class),

    /**
     * 广告卡片
     */
    AD(AdCardViewHolder.class),

    /**
     * 广告卡片带有加载页面
     */
    LOADING_AD(LoadingAdCardViewHolder.class),

    /**
     * 手机媒体资源卡片样式
     */
    PHONE_MEDIA(PhoneMediaViewHolder.class),

    /**
     * 自动清理（自动rom清理、自动cache清理）
     */
    AUTO_CLEAN(CommonCardViewHolder.class),

    /**
     * 充电屏保卡片
     */
    CHARGING(CommonCardViewHolder.class),

    /**
     * Swipe卡片
     */
    SWIPE(CommonCardViewHolder.class),

    /**
     * Trash卡片
     */
    TRASH(CommonCardViewHolder.class),

    /**
     * 首页 手机降温 功能卡片
     */
    COOLER(FuncCardViewHolder.class),

    /**
     * 首页 省电优化 功能卡片
     */
    POWER(FuncCardViewHolder.class),

    /**
     * 首页 手机加速 功能卡片
     */
    BOOSTER(FuncCardViewHolder.class);

    Class<? extends ACardViewHolder> mClass;

    CardViewType(Class<? extends ACardViewHolder> aClass) {
        mClass = aClass;
    }

    public ACardViewHolder buildCardViewHolder() {
        try {
            return mClass.newInstance();
        } catch (InstantiationException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
        return null;
    }

}
